package com.bjpowerrnode.functionalInterface.predicateFuncation;

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

public class PredicateTest {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
        System.out.println("输出所有的数据");
        // Predicate<Integer> predicate = n -> true
        // n 是一个参数传递到 Predicate 接口的 test 方法
        // n 如果存在则 test 方法返回 true
        Predicate<Integer> predicate = n -> true;
        eval(list,predicate);
        //eval(list,n -> true);

        System.out.println("输出所有偶数");
        eval(list,n -> n%2 == 0);

        System.out.println("输出所有大于3的数字");
        eval(list,n->n>3);

    }

    public static void eval(List<Integer> list, Predicate<Integer> predicate){
        for (Integer integer : list) {
            if(predicate.test(integer)){
                System.out.println(integer + " ");
            }
        }
    }
}
